package com.hoshiicloud.goods.service;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hoshiicloud.common.query.OmnipotentParam;
import com.hoshiicloud.common.update.UpdateBatchParam;
import com.hoshiicloud.goods.entity.sku.ProductManage;
import com.hoshiicloud.goods.param.sku.BranchStoreProductPageParam;
import com.hoshiicloud.goods.vo.BranchStoreGoodsVo;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 商品sku分配 服务类
 * </p>
 * 2019-06-04 zhangshuhu
 */
public interface ProductManageService extends IService<ProductManage> {
    Page<ProductManage> getPage(Page<ProductManage> page, Wrapper<ProductManage> queryWrapper, String key);

    List<ProductManage> listByParam(QueryWrapper<ProductManage> queryWrapper, String key);


    ProductManage getById(Long id);

    boolean save(ProductManage entity);

    boolean updateById(ProductManage entity);




    boolean deleteById(Long id);

    List<ProductManage> getByIds(List<Long> ids, String key);


    /**
     *  分页查询分店商品信息
     */
    Page<BranchStoreGoodsVo> listBranchStoreGoodsByStoreId(BranchStoreProductPageParam param);

    Boolean saveBatch1(List<ProductManage> list);

    List<ProductManage> listByStoreId(Long storeId);

    /**
     * 根据自定义条件进行批量更新
     */
    boolean updateBatchByWrapper(UpdateBatchParam<ProductManage> updateBatchParam);

    /**
     * 批量更新
     */
    Boolean updateBatch(OmnipotentParam<ProductManage> param);

}
